home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / spell.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-04-24  |  2.1 KB  |  127 lines

  1. 10  ' *******************
  2. 20  ' **     SPELL     **
  3. 30  ' *******************
  4. 40  '
  5. 50  CLEAR
  6. 60  DEF SEG
  7. 70  SCREEN 1
  8. 80  COLOR 0,0
  9. 90  CLS
  10. 100  KEY OFF
  11. 110  RANDOMIZE VAL(MID$(TIME$,4,2) + RIGHT$(TIME$,2))
  12. 120  LOCATE 12,19
  13. 130  POKE &H4E,2
  14. 140  PRINT "SPELL
  15. 150  FOR DELTA = 3 TO 77 STEP 5
  16. 160  LINE (120-DELTA,87-DELTA)-(205+DELTA,97+DELTA),,B
  17. 170  NEXT DELTA
  18. 180  LOCATE 24,7
  19. 190  POKE &H4E,1
  20. 200  INPUT "How many words to learn";COUNT
  21. 210  DIM A$(COUNT),SCORE(COUNT)
  22. 220  FOR I = 1 TO COUNT
  23. 230  SCORE(I) = 2
  24. 240  NEXT I
  25. 250  CLS
  26. 260  COLOR 0,1
  27. 270  PRINT "Let's type in the words.
  28. 280  PRINT "Be careful to spell them correctly ...
  29. 290  PRINT
  30. 300  PRINT
  31. 310  FOR I = 1 TO COUNT
  32. 320  POKE &H4E,2
  33. 330  PRINT "Word number";I;" ";
  34. 340  POKE &H4E,3
  35. 350  INPUT CAP$
  36. 360  GOSUB 1210
  37. 370  A$(I) = CAP$
  38. 380  NEXT I
  39. 390  CLS
  40. 400  '
  41. 410  PTR = INT(RND * COUNT + 1)
  42. 420  J = 0
  43. 430  IF SCORE(PTR) THEN 490
  44. 440  PTR = PTR MOD COUNT + 1
  45. 450  J = J + 1
  46. 460  IF J > COUNT THEN 980
  47. 470  GOTO 430
  48. 480  '
  49. 490  CLS
  50. 500  COLOR 0,1
  51. 510  LOCATE 13,20 - LEN(A$(PTR)) / 2
  52. 520  POKE &H4E,3
  53. 530  PRINT A$(PTR);
  54. 540  FOR I = 9 TO 99 STEP 3
  55. 550  LINE (0,99-I)-(319,99-I),2
  56. 560  LINE (0,99+I)-(319,99+I),2
  57. 570  NEXT I
  58. 580  IF SCORE(PTR) = 2 THEN GOSUB 1160
  59. 590  CLS
  60. 600  COLOR 0,1
  61. 610  LOCATE 9,7
  62. 620  POKE &H4E,1
  63. 630  PRINT "Now try to spell it ...
  64. 640  POKE &H4E,3
  65. 650  LOCATE 14,17 - LEN(A$(PTR)) / 2
  66. 660  IF LEN(INKEY$) THEN 660
  67. 670  INPUT CAP$
  68. 680  GOSUB 1210
  69. 690  IF CAP$ = A$(PTR) THEN 800
  70. 700  '
  71. 710  ' Whoops, better luck next time
  72. 720  CLS
  73. 730  LOCATE 14,9
  74. 740  PRINT "Sorry ......   ";A$(PTR);
  75. 750  GOSUB 1160
  76. 760  SCORE(PTR) = 2
  77. 770  GOTO 410
  78. 780  '
  79. 790  ' Wow, sit back and enjoy sucess for a spell
  80. 800  CLS
  81. 810  COLOR 0,0
  82. 820  POKE &H4E,1
  83. 830  LOCATE 13,16
  84. 840  PRINT "Very good !"
  85. 850  FOR I = 23 TO 123 STEP 5
  86. 860  X1 = 160 - 3 * I
  87. 870  X2 = 160 + 3 * I
  88. 880  Y1 = 99 - I
  89. 890  Y2 = 99 + I
  90. 900  LINE (X1,99)-(160,Y1)
  91. 910  LINE -(X2,99)
  92. 920  LINE -(160,Y2)
  93. 930  LINE -(X1,99)
  94. 940  NEXT I
  95. 950  SCORE(PTR) = SCORE(PTR) - 1
  96. 960  GOTO 410
  97. 970  '
  98. 980  CLS
  99. 990  POKE &H4E,3
  100. 1000  LOCATE 1,1
  101. 1010  PRINT "You did it!  Now you know how to spell
  102. 1020  PRINT "all these words...",,,,,
  103. 1030  POKE &H4E,1
  104. 1040  FOR I = 1 TO COUNT
  105. 1050  PRINT A$(I),
  106. 1060  NEXT I
  107. 1070  POKE &H4E,2
  108. 1080  PRINT
  109. 1090  PRINT
  110. 1100  PRINT TAB(11)"CONGRATULATIONS !
  111. 1110  PRINT TAB(11)STRING$(17,"_");
  112. 1120  LOCATE 22
  113. 1130  END
  114. 1140  '
  115. 1150  ' Subroutine, delay for awhile
  116. 1160  FOR DELAY = 1 TO 777
  117. 1170  NEXT DELAY
  118. 1180  RETURN
  119. 1190  '
  120. 1200  ' Subroutine, capitalization
  121. 1210  FOR CHAR = 1 TO LEN(CAP$)
  122. 1220  CHAR$ = MID$(CAP$,CHAR,1)
  123. 1230  IF CHAR$ < "a" OR CHAR$ > "z" THEN 1250
  124. 1240  MID$(CAP$,CHAR,1) = CHR$(ASC(CHAR$)-32)
  125. 1250  NEXT CHAR
  126. 1260  RETURN
  127.